/**
 *
 */
package com.jcode.netty.serialize;

/**
 * @Author dreajay
 * @DateTime 2016年11月18日 上午10:59:55
 */
public class SerializerFactory {

    /**
     * 获取序列化类型
     *
     * @param type
     *     序列化类型
     *
     * @return
     */
    public static Serializer getSerializer(SerializeType type) {
        switch (type) {
            case JSON:
                return new FastJsonSerializer();
            case JAVA:
                return new JavaSerializer();
            default:
                return new FastJsonSerializer();
        }
    }

    /**
     * 获取序列化类型
     *
     * @param code
     *     序列化类型编码
     *
     * @return
     */
    public static Serializer getSerializer(byte code) {
        try {
            return getSerializer(SerializeType.valueOf(code));
        } catch (Exception e) {
            return null;
        }
    }

}